package org.carl.job;

import org.carl.args.DemoArgs;
import org.carl.redis.delay.queue.iface.impl.AbstractTopicRegister;
import org.carl.topic.DelayJobTopicEnums;
import org.springframework.stereotype.Service;

@Service
public class DelayQueueDemoJob extends AbstractTopicRegister<DemoArgs> {


    @Override
    public String getTopic() {
        return DelayJobTopicEnums.DEMO_TEST.getTopic();
    }

    @Override
    public void execute(DemoArgs demoArgs) {
        // 延迟任务回调接口

        //id : 这个Topic下的唯一值
        String id = demoArgs.getId();
        //重试次数;  如果回调接口超时失败, 调用失败,会自动重试2次; 这个代表重试次数
        int retryCount = demoArgs.getRetryCount();

        //DemoArgs 是要继承 Args的;  如果没有自己需要定义的回调参数; 泛型那里直接写  Args就行了
        System.out.println(demoArgs.getTest());
    }
}